<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    const hashList = [] // 长固定为5, 散列表
    hashList.length = 5;
    const arr = ['fewaf', 'fewafe', 'jijoij', 'assfe', 'fewafewfa', 'fewafew'] // 要存储的元素
    const arrIndex = arr.map(item => hash(item, hashList.length)); // 根据hash函数计算出的位置
    // 给散列表中存值
    arrIndex.forEach((item, key) => {
      // 判断该位置是否有元素
      if (hashList[item] === undefined) {
        hashList[item] = arr[key];
      } else {
        if (Array.isArray(hashList[item])) {
          hashList[item].push(arr[key])
        } else {
          hashList[item] = [hashList[item], arr[key]]
        }
      }
    })
    // 散列函数
    function hash(value, len) {
      let sum = 0;
      value.split('').forEach(item => {
        sum += item.charCodeAt(0)
      })
      return sum % len;
    }
    // 查找 fewaf

    let index = hash('fewaf', hashList.length)
    if (Array.isArray(hashList[index])) {
      let i = hashList[index].indexOf('fewaf')
      console.log('成功找到')
    } else {
      console.log('成功找到')
    }
  </script>
</body>

</html>